A typical computer system has at least a microprocessor and memory. The microprocessor processes, i.e., executes, instructions to accomplish various tasks of the computer system. Such instructions, along with the data required by the microprocessor when executing these instructions, are stored in some form of memory. FIG. 1 shows a typical computer system having a microprocessor (10) and some form of memory (12). The microprocessor (10) has, among other components, a central processing unit (also known and referred to as xe2x80x9cCPUxe2x80x9d or xe2x80x9cexecution unitxe2x80x9d) (14) and a memory controller (also known as xe2x80x9cload/store unitxe2x80x9d) (16). The CPU (14) is where the actual arithmetic and logical operations of the computer system take place. To facilitate the execution of operations by the CPU (14), the memory controller (16) provides the CPU (14) with necessary instructions and data from the memory (12). The memory controller (16) also stores information generated by the CPU (14) into the memory (12).
The operations that occur in a computer system, such as the logical operations in the CPU and the transfer of data between the CPU and memory, require power. If the components responsible for carrying out specific operations do not receive adequate power in a timely manner, computer system performance is susceptible to degradation. As an added challenge, power consumption of modern computers has increased as a consequence of increased operating frequencies. Thus, providing power to the components in a computer system in a sufficient and timely manner has become an issue of significant importance.
Often, power supply to a particular computer system element varies, which, in turn, effects the integrity of the element""s output. Typically, this power variation results from the distance between a power supply for the element and the element itself. This distance may lead to the element not receiving power (via current) at the exact time it is required.
As shown in FIG. 2, one approach used by designers to combat this performance-inhibiting behavior is introducing decoupling capacitance to a particular circuit by positioning one or more decoupling capacitors (13) close to elements (15) in an integrated circuit (17). These decoupling capacitors (13) store charge from the power supply and distribute the charge to the elements (15) when needed. For example, if power received by a element from a power supply line (19) attenuates, one or more decoupling capacitors (13) will distribute charge to the element (15) to ensure that the element (15) is not affected by the power variation on the power supply line (19). In essence, a decoupling capacitor acts as a local power supply for one or more specific elements in a computer system.
However, important considerations must be made as to the assignment of one or more decoupling capacitors to particular capacitance needing elements because capacitors have particular undesirable characteristics. One such characteristic pertains to two types of capacitors: thin-oxide capacitors and thick-oxide capacitors. A thin-oxide capacitor is designed using one or more transistors that have thin gate dielectric thicknesses, and although thin-oxide capacitors provide a relatively large amount of decoupling capacitance, they are prone to undesirable gate-tunneling leakage currents. Such leakage current, in turn, increases the leakage power of a circuit, resulting in increased power and heat dissipation by the circuit. Alternatively, a thick-oxide capacitor is designed using one or more transistors that have thick gate dielectric thicknesses, and although thick-oxide capacitors have less leakage currents, they provide a smaller amount of decoupling capacitance than thin-oxide capacitors. Thus, there is a need for a technique that optimizes decoupling capacitance such that decoupling capacitance on an integrated circuit is increased while leakage power constraints are met.
According to one aspect of the present invention, a method for assigning thin-oxide and thick-oxide capacitors on an integrated circuit, where the integrated circuit has a capacitance requirement and a leakage power constraint, comprises: formulating a linear optimization problem, where formulating the linear optimization problem comprises defining a first value as a value of capacitance that is obtained by replacing the thick-oxide capacitors with the thin-oxide capacitors subject to the leakage power constraint; solving the linear optimization problem to determine a maximum value for the first value; and determining an optimal percentage of thin-oxide capacitance using the maximum value.
According to another aspect, a computer system comprises a processor, a memory, and instructions, residing in the memory and executable by the processor, for: formulating a linear optimization problem, where formulating the linear optimization problem comprises defining a first value as a value of capacitance that is obtained by replacing the thick-oxide capacitors with the thin-oxide capacitors subject to the leakage power constraint; solving the linear optimization problem to determine a maximum value for the first value; and determining an optimal percentage of thin-oxide capacitance using the maximum value.
According to another aspect, a computer-readable medium having recorded therein instructions executable by processing comprises instructions for: formulating a linear optimization problem, where formulating the linear optimization problem comprises defining a first value as a value of capacitance that is obtained by replacing the thick-oxide capacitors with the thin-oxide capacitors subject to the leakage power constraint; and determining an optimal percentage of thin-oxide capacitance dependent on a maximization of the first value.
According to another aspect, a method for assigning thin-oxide and thick-oxide capacitors on an integrated circuit, where the integrated circuit has a capacitance requirement and a leakage power constraint, comprises: a step for formulating a linear optimization problem, where the step for formulating the linear optimization problem comprises defining a first value as a value of capacitance that is obtained by replacing the thick-oxide capacitors with the thin-oxide capacitors subject to the leakage power constraint; a step for solving the linear optimization problem to determine a maximum value for the first value; and a step for determining an optimal percentage of thin-oxide capacitance using the maximum value.